# 参考第 9 节的综合案例中的学生信息管理，来实现一个自动取款机的存取款模拟效果。要求有登陆和退出、查询余额、取钱，存钱等操作。
#1.客戶訊息數據庫
#2.登入帳號 密碼 使用funtion實現
#3.查詢餘額 使用funtion實現
#4.取錢  使用funtion實現
#5.存錢  使用funtion實現
#6.退出
#7.使用介面

#1.客戶訊息數據庫
#注意帳號密碼的value需要是str
client_data=[
    {'帳號':'101','密碼':'123','餘額':70000},
    {'帳號':'102','密碼':'123','餘額':60000},
    {'帳號':'103','密碼':'123','餘額':50000}]

#print(client_data[2]['密碼'])


#登入與判別帳密
def login(use_account,use_password):
   for i in range(len(client_data)): #遍歷數據庫的資料
        if use_account==client_data[i]['帳號']:
            if use_password==client_data[i]['密碼']:
                print("歡迎登入")
                return i


def show_data_info(userid):
    print("歡迎進入你的帳戶")
    print('餘額為',client_data[userid]['餘額'])


#取錢函數
def withdraw(userid):
    before_money =client_data[userid]['餘額']
    take_money=int(input('您要取款金額'))
    if before_money >= take_money and take_money>0:
        print('先前餘額{0:}，取款金額{1:}，剩餘金額為{2:}'.format(before_money,take_money,before_money-take_money))
        total=(before_money - take_money)
        client_data[userid]['餘額']=total
    elif before_money <= take_money:
        print('餘額不足，剩餘餘額為', before_money)

    else:
        print('輸入錯誤')


    

#存錢函數
def deposit(userid):
    before_money = client_data[userid]['餘額']
    save_money=int(input('您要存款金額'))
    if save_money>0:
        print('先前餘額{0:}，存款金額{1:}，剩餘金額為{2:}'.format(before_money, save_money, before_money + save_money))
        total = (before_money + save_money)
        client_data[userid]['餘額'] = total
    else:
        print('輸入錯誤')


# ============
while True:
    print('=' * 13, 'Carzy Bank', '=' * 13)
    userid=login(input('輸入帳號'), input('輸入密碼'))#使用登入函數
    if userid != None:
        while True:
            print('=' * 10, '歡迎來進入Carzy Bank', '=' * 10)
            print('{0:2}{1:10}{2:>12}'.format('','|1.餘額','|2.取錢'))
            print('{0:2}{1:10}{2:>12}'.format('','|3.存錢','|4.登出'))
            print('=' * 38)
            key=input('輸入對應選擇')
            if key=='1':
                show_data_info(userid)
                input('按回測繼續')
            elif key=='2':
                withdraw(userid)
                input('按回測繼續')
            elif key=='3':
                 deposit(userid)
            elif key=='4':
                print('謝謝，歡迎下次再度光臨！')
                break
            else:
                print('輸入錯誤')
                input('按回測繼續')

    else:
        print('輸入錯誤,請重新輸入')
        print('=' * 38)
        print("")










